package com.usefullc.user.param;

import com.usefullc.common.domain.BaseDomain;
import com.usefullc.common.enums.ValidActionEnum;
import com.usefullc.system.validator.UsefulPropertyVerify;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @author: Sampson
 * @date: 2022-04-18 10:07
 */
@ApiModel("菜单参数")
@Data
public class MenuParam extends BaseDomain {

    @UsefulPropertyVerify(required = true,action = ValidActionEnum.UPDATE)
    @ApiModelProperty(notes = "ID")
    private Long id;

    @UsefulPropertyVerify(required = true)
    @ApiModelProperty(notes = "父ID")
    private Long parentId;

    @UsefulPropertyVerify(required = true,minLen = 2,maxLen = 30)
    @ApiModelProperty(notes = "名称")
    private String name;

    @UsefulPropertyVerify(required = true,minLen = 2,maxLen = 100)
    @ApiModelProperty(notes = "请求路径")
    private String path;

    @UsefulPropertyVerify(required = true,minLen = 2,maxLen = 100)
    @ApiModelProperty(notes = "前端组件")
    private String component;

    private String route;

    @UsefulPropertyVerify(required = true,minLen = 1)
    @ApiModelProperty(notes = "序号")
    private Integer orderNo;

    @UsefulPropertyVerify(minLen = 2,maxLen = 20)
    @ApiModelProperty(notes = "图标")
    private String icon;

    @UsefulPropertyVerify(required = true)
    @ApiModelProperty(notes = "类型")
    private Boolean menu;

    @UsefulPropertyVerify(required = true,minLen = 2,maxLen = 10)
    @ApiModelProperty(notes = "应用")
    private String appType;

    @UsefulPropertyVerify(minLen = 2,maxLen = 200)
    @ApiModelProperty(notes = "描述")
    private String description;




}
